package com.bxl.power;

/**
 * 计算平方
 *
 * @author baixl
 * @date 2021/3/19
 */
public class PowerTool {
    //整数 a的n次幂。
    //例如 n=7  二进制 0   1                 1          1
    //a的n次幂 = a的（2的4次幂）  ×   a的（2的1次幂）  ×a的（2的0次幂）
    public static long power(long a, int n) {
        int rtn = 1;
        while (n >= 1) {
            if ((n & 1) == 1) {
                rtn *= a;
            }
            a *= a;
            n = n >> 1;
        }
        return rtn;
    }
}
